/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.catosist.run.services;
import java.util.Date;
/**
 *
 * @author igorov
 */
public class ComprobanteDTO  implements java.io.Serializable {
    private int id;
    private int viaje;
    private Date fingreso;
    private int numero;
    private int numeroserie;
    private Float total;
    private int clienteId;
    private String nombreCliente;
    private String direccionCliente;
    private String RUCCliente;
    private Float monto;
    private Float igv;
    private Float totalsindetraccion;
    private Float detraccion;
    private String tipo_comprobante;
    private Date fcancelacion;
    private Float adelanto;

    public ComprobanteDTO(int id, Date fingreso, int numero, int numeroserie, Float total, int clienteId, String nombreCliente, String direccionCliente,
                            String RUCCliente, Float monto, Float igv, Float totalsindetraccion, Float detraccion,
                            String tipo_comprobante, Date fcancelacion, Float adelanto) {
        this.id = id;
//        this.viaje = viaje;
        this.fingreso = fingreso;
        this.numero = numero;
        this.numeroserie = numeroserie;
        this.total = total;
        this.clienteId = clienteId;
        this.nombreCliente = nombreCliente;
        this.direccionCliente = direccionCliente;
        this.RUCCliente = RUCCliente;
        this.monto = monto;
        this.igv = igv;
        this.totalsindetraccion = totalsindetraccion;
        this.detraccion = detraccion;
        this.tipo_comprobante = tipo_comprobante;
        this.fcancelacion = fcancelacion;
        this.adelanto = adelanto;
    }

//    public ComprobanteDTO(int id, int viaje, Date fingreso, int numero, Float total, String nombre, String ruc, String direccion) {
//        this.id = id;
//        this.viaje = viaje;
//        this.fingreso = fingreso;
//        this.numero = numero;
//        this.total = total;
//        this.nombre = nombre;
//        this.ruc = ruc;
//        this.direccion = direccion;
//    }
//
//    public ComprobanteDTO(int id, int viaje, Date fingreso, int numero, Float total, String nombre, String ruc, String direccion, Float monto, Float igv, Float totalsindetraccion, Float detraccion, String tipo_comprobante) {
//        this.id = id;
//        this.viaje = viaje;
//        this.fingreso = fingreso;
//        this.numero = numero;
//        this.total = total;
//        this.nombre = nombre;
//        this.ruc = ruc;
//        this.direccion = direccion;
//        this.monto = monto;
//        this.igv = igv;
//        this.totalsindetraccion = totalsindetraccion;
//        this.detraccion = detraccion;
//        this.tipo_comprobante = tipo_comprobante;
//    }



    public ComprobanteDTO() {
        monto = 0f;
        igv = 0f;
        totalsindetraccion = 0f;
        detraccion = 0f;
        total = 0f;
        viaje = -1;
        fcancelacion = null;
    }

    public Object[] toArray() {

        Object[] obj = new Object[5];
        obj[0] = id;
        obj[1] = numero;
        obj[2] = nombreCliente;
        obj[3] = fingreso.toString().substring(0,10);
        obj[4] = total;

        return obj;
    }

    public Object[] toArray2() {
        Object[] obj = new Object[10];
        obj[0] = id;
        String s_numeroserie = String.valueOf(numeroserie);
        String s_numero = String.valueOf(numero);
        String s_numerorestante = s_numero.substring(s_numero.indexOf(s_numeroserie) + s_numeroserie.length());
        
        obj[1] = numeroserie + "-" + s_numerorestante;
        obj[2] = fingreso.toString().substring(0,10);
        obj[3] = nombreCliente;
        obj[4] = monto;
        obj[5] = igv;
        obj[6] = totalsindetraccion;
        obj[7] = detraccion;
        obj[8] = total;
        if (fcancelacion == null)
            obj[9] = "No";
        else
            obj[9] = fcancelacion.toString().substring(0,10);

        return obj;
    }

    public int getNumeroserie() {
        return numeroserie;
    }

    public void setNumeroserie(int numeroserie) {
        this.numeroserie = numeroserie;
    }

    public Date getFingreso() {
        return fingreso;
    }

    public void setFingreso(Date fingreso) {
        this.fingreso = fingreso;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public Float getTotal() {
        return total;
    }

    public void setTotal(Float total) {
        this.total = total;
    }

    public int getViaje() {
        return viaje;
    }

    public void setViaje(int viaje) {
        this.viaje = viaje;
    }

    public Float getDetraccion() {
        return detraccion;
    }

    public void setDetraccion(Float detraccion) {
        this.detraccion = detraccion;
    }

    public Float getIgv() {
        return igv;
    }

    public void setIgv(Float igv) {
        this.igv = igv;
    }

    public Float getMonto() {
        return monto;
    }

    public void setMonto(Float monto) {
        this.monto = monto;
    }

    public Float getTotalsindetraccion() {
        return totalsindetraccion;
    }

    public void setTotalsindetraccion(Float totalsindetraccion) {
        this.totalsindetraccion = totalsindetraccion;
    }

    public String getTipo_comprobante() {
        return tipo_comprobante;
    }

    public void setTipo_comprobante(String tipo_comprobante) {
        this.tipo_comprobante = tipo_comprobante;
    }

    public String getRUCCliente() {
        return RUCCliente;
    }

    public void setRUCCliente(String RUCCliente) {
        this.RUCCliente = RUCCliente;
    }

    public int getClienteId() {
        return clienteId;
    }

    public void setClienteId(int clienteId) {
        this.clienteId = clienteId;
    }

    public String getDireccionCliente() {
        return direccionCliente;
    }

    public void setDireccionCliente(String direccionCliente) {
        this.direccionCliente = direccionCliente;
    }

    public String getNombreCliente() {
        return nombreCliente;
    }

    public void setNombreCliente(String nombreCliente) {
        this.nombreCliente = nombreCliente;
    }

    public Date getFcancelacion() {
        return fcancelacion;
    }

    public void setFcancelacion(Date fcancelacion) {
        this.fcancelacion = fcancelacion;
    }

    public Float getAdelanto() {
        return adelanto;
    }

    public void setAdelanto(Float adelanto) {
        this.adelanto = adelanto;
    }
}
